﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace EveHQ.EveApi
{
    using System.Diagnostics.CodeAnalysis;

    using EveHQ.Caching;

    public sealed class CorpClient:InformationClient
    {
         private const string RequestPrefix = "/corp";

        /// <summary>Initializes a new instance of the CharacterClient class.</summary>
        /// <param name="rootCacheFolder">root folder used for caching.</param>
        [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "Provider will be disposed when this object is disposed.")]
        public CorpClient(string rootCacheFolder)
            : this(BaseApiClient.DefaultEveWebServiceLocation, new SimpleTextFileCache(rootCacheFolder), new WebRequestProvider())
        {
        }

        /// <summary>Initializes a new instance of the CharacterClient class.</summary>
        /// <param name="eveServiceLocation">location of the eve API web service</param>
        /// <param name="cacheProvider">root folder used for caching.</param>
        /// <param name="requestProvider">Request provider to use for this instance.</param>
        internal CorpClient(string eveServiceLocation, ICacheProvider cacheProvider, IWebRequestProvider requestProvider)
            : base(eveServiceLocation, cacheProvider, requestProvider, RequestPrefix)
        {
        }
    }
}
